A thermal printer operates by sequentially heating desired linear patterns of small discrete areas ("pixels") of a thermal medium to produce desired light and dark patterns on the thermal medium. In some instances, the thermal medium can be a thermally sensitive medium which is heated directly, while in other instances, the thermal medium can be a thermal transfer ribbon which is heated to cause a small amount of dyed wax to be transferred to a medium which is not thermally sensitive.
The discrete areas of the thermal medium are heated by a thermal printhead which includes a linear array of minute, closely spaced resistive dots (or print elements) that can be individually thermally controlled by means of electrical signals. The thermal medium is stepped past the printhead as each desired linear pattern is printed. The printhead is positioned over each part of the thermal medium for a predetermined interval of time (the "scan line time," SLT) which depends upon the printer's print speed. For example, for printers, at 2 inches per second each interval of time is approximately 2.5 milliseconds long.
A print command signal for each print element determines, on a time interval basis, whether the print element should print or not within an SLT. In response to the print command signal, each print element in a printhead receives an electrical energization signal that is a composite of two other electrical signals. Specifically, the energization signal is a logical AND of a strobe signal and a data signal. The strobe signal, which is periodically sent to each of the print elements and is tailored to cause the print element to reach and maintain a temperature within a prescribed temperature range under controllable conditions. As will be discussed in greater detail subsequently, the strobe signal typically consists of two portions--an initial "burn" time and a subsequent "chopped" time. If the strobe signal were applied directly to the print element, the burn time portion of the strobe signal would force the print element to heat up quickly. The chopped time portion of the strobe signal typically maintains the print element's temperature and consists of approximately 25 cycles of a square wave with a 50 percent duty cycle. The data signal determines whether, within the period of the strobe signal, any portion of the strobe signal should be applied to a print element to cause it to print.
In the past, it was known to adjust the strobe signal to account for the temperature of the printhead. For example, when a printer first begins operation, its printhead is still at ambient temperature and its individual print elements must be given more energy to cause them to print. Therefore the burn time portion of the strobe signal could be lengthened so that the individual print elements will be heated more and the printhead will reach a normal operating temperature.
After the printhead has reached its operating temperature the strobe signal can be readjusted for these "normal" conditions. Even after the printhead has warmed up, however, departures from the normal conditions can occur. For example, the printhead can experience long periods of time when the printer is producing a label having large white areas, thereby requiring no heating of the individual print elements and allowing the printhead to cool below the normal operating temperature. On the other hand, the printhead may be required to print labels having large black areas, during which the temperature of the printhead will increase above the normal operating temperature. The thermal printer can account for these departures from the normal operating temperature by changing the energization signal through adjustments of the burn time portion of the strobe signal.
It has also been known in the past to adjust the energization of each individual print element depending upon the recent past history of that print element. For example, if a particular print element in a printhead has printed a long row of dark areas, it is known to reduce the "on" time of the energization signal to prevent the print element from producing a dark spot at an improper pixel. Under these circumstances, it is desirable to account for the past history of a particular print element when choosing the print command to be transmitted to the print element. Further, it has also been known in the past that the thermal performance of a particular print element in a printhead is affected by adjacent or nearby print elements in the printhead. Accordingly, it has been known in the past to tailor the energization signal transmitted to a particular print element depending upon the present condition and past history of adjacent print elements in the printhead.
It is desirable to have a printhead whose print elements can be individually programmed depending upon such variables as print speed, media type, ambient temperature, heat sink temperature, user's personal darkness preference, power supply voltage, and printhead average print element resistance. It is also desirable to reduce the thermal stress of each print element in a printhead by modulating the energization signal during the heat-up portion of the strobe but keeping the overall energy dissipation of the print element constant by heating it for a greater portion of the duration of the strobe signal.
It is further desirable to account for the future printing requirements of a particular print element in a printhead, as well as the future printing requirements of adjoining print elements in the printhead when determining the energization signal. For instance, if it is known that a particular print element in the printhead has been off for a period of time but will be used in an upcoming period of time, this print element can be "preheated" during one or more of the immediately preceding print times to raise the print element's temperature.
In addition, it is desirable to adjust the energization signal transmitted to a particular print element in a printhead to affect the placement of a pixel that is printed by that print element within the area of the printer medium over which the print element passes during a particular scan line time.
Also, it is desirable to maintain the temperature of the printhead substrate at an optimal level when the ambient temperature is below optimal printing temperatures.
Further, it is desirable to feed each print element with an energization signal that is a function of a data signal containing two or more sets of data during a scan line time to get adequate resolution for thermal control of the print element.